In the present state of the parallel processing art, the individual processing nodes of a parallel processing network are designed to execute efficiently a single network protocol or perhaps, say, two protocols, but at different times. A protocol might be one that implements a message passing algorithm between the processing nodes, or it might be a protocol for sharing a common memory between the individual nodes, or any of a number of other types of protocols. U.S. Pat. No. 4,247,892, issued to P. N. Lawrence, is illustrative of the state of the art of message passing parallel processing networks. Each processor of the network calculates the number of destination nodes a message from the processor must pass through en route to its destination node. Each processor then casts a vote for the most advantageous protocol, from its viewpoint, to use in the next message transmittal phase. A foreman computer tallies the votes and informs the other processors of the winning protocol. Only one type of protocol, however, may be performed in any transmitting phase of the network.
It has also been possible in such networks to simulate protocols other than the protocol for which the network was designed. When this has been done, however, the simulated operations have proven to be slow and inefficient. Moreover, in the single protocol and the simulated protocol networks, no way has been found simultaneously to perform plural protocols of a single type or plural protocols of a different type. However, if a network is to operate simultaneously on more than one problem at a time or at better efficiency, a need exists to execute at least plural instances of a protocol at the same time. And for even greater flexibility and efficiency, a need exists for a network to be able to execute simultaneously plural protocols of differing types, such as message passing, shared memory, distributed sets, and so on.